import { createSSRApp } from "vue"
import App from "./App.vue"

// 导入 pinia 实例
import pinia from "./stores"

import router from './router'

// 引入懒加载插件
// #ifdef H5
import { lazyPlugin } from '@/directives'
// #endif

export function createApp() {
  const app = createSSRApp(App)

  // 文件域名
  let fileDomain = ''

  // 上传文件接口
  let uploadFileApi = ''
  // 本地环境
  if (import.meta.env.DEV) {
    fileDomain = 'http://127.0.0.1:9000/'
    uploadFileApi = 'http://dev.api.easychat.itrident.cn/api/front/image/minioSingleUploadImage'
  }

  // 生产环境
  if (import.meta.env.PROD) {
    fileDomain = 'https://minio-fs-api.itrident.cn/'
    uploadFileApi = 'https://api.easychat.itrident.cn/api/front/image/minioSingleUploadImage'
  }

  // 配置全局变量 页面中使用 inject 接收
  app.provide('global', {
    // 文件域名
    FILE_DOMAIN: fileDomain,

    // 上传文件接口
    UPLOAD_FILE_API: uploadFileApi,

    // 主题色
    THEME_COLOR: '#27BA9B',

    MAP_KEY: 'MYBBZ-5D4CC-ICD2A-AKHXL-ZFSOH-U7BIV'
  })

  // 使用路由
  app.use(router)

  // 使用pinia
  app.use(pinia)

  // 注册懒加载插件
  // #ifdef H5
  app.use(lazyPlugin)
  // #endif

  return {
    app,
  }
}
